home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 2
/
SPACE - Library 2 - Volume 1.iso
/
program
/
561
/
prolog
/
sysfile.toy
< prev
next >
Wrap
Text File
|
1991-09-08
|
37KB
|
1,432 lines
% KERNEL file for TOY Prolog
%
% (c) Kluzniak/Szpakowicz 1985
%
% TOY Prolog ST Version (c) Jens Kilian 1986
% standard atoms :
';'/2 ','/2 'call'/1 'tag'/1
'[]'/0 '.'/2 'error'/1 'user'/0
'xfx'/0 'xfy'/0 'yfx'/0 'yfy'/0 % operator types
'fx'/0 'fy'/0 'xf'/0 'yf'/0 % " "
'ear'/0
% atoms identifying system routines (keep 'fail' first and 'true' last)
'fail'/0 'tag'/1 'call'/1 '!'/0
'tagcut'/1 'tagfail'/1 'tagexit'/1 'ancestor'/1
'halt'/1 'status'/0
'display'/1 'rch'/0 'lastch'/1 'skipbl'/0 'wch'/1
'echo'/0 'noecho'/0
'see'/1 'seeing'/1 'seen'/0 'tell'/1 'telling'/1
'told'/0
'ordchr'/2 'sum'/3 'prod'/4 'less'/2 '@<'/2
'smalletter'/1 'bigletter'/1 'letter'/1 'digit'/1 'alphanum'/1
'bracket'/1 'solochar'/1 'symch'/1
'eqvar'/2 'var'/1
'atom'/1 'integer'/1 'nonvarint'/1
'functor'/3 'arg'/3 'pname'/2 'pnamei'/2
'$proc'/1 '$proclimit'/0 '$procinit'/0
'clause'/5 'retract'/3 'abolish'/2 'assert'/3 'redefine'/0
'predefined'/2 'protect'/2 'unprotect'/2
'spy'/2 'nospy'/2 'spied'/2
'nonexistent'/0 'nononexistent'/0
'debug'/0 'nodebug'/0
'op'/3 'FF'/3 'delop'/1
'grf_clip'/5 'grf_pline'/1 'grf_pmarker'/1 'grf_text'/3 'grf_poly'/1
'grf_fill'/3 'grf_box'/4 'grf_bar'/4 'grf_arc'/5 'grf_pie'/5
'grf_circle'/3 'grf_ellipse'/4 'grf_rbox'/4 'grf_rfbox'/4 'grf_wrmode'/1
'grf_colour'/4
'grf_l_colour'/1 'grf_l_type'/1 'grf_l_udstyle'/1 'grf_l_width'/1
'grf_l_ends'/2
'grf_m_colour'/1 'grf_m_type'/1 'grf_m_height'/1
'grf_t_height'/1 'grf_t_point'/1 'grf_t_rotation'/1 'grf_t_colour'/1
'grf_t_effects'/1 'grf_t_align'/2
'grf_f_colour'/1 'grf_f_type'/1 'grf_f_style'/1 'grf_f_perim'/1
'grf_f_udpat'/1
'grf_mse_form'/5 'grf_mse_form'/1 'grf_mse_show'/1 'grf_mse_hide'/0
'grf_mse_state'/3
'grf_mode'/0 'txt_mode'/0 'alert'/3
'date'/3 'set_date'/3 'time'/3 'set_time'/3
'interrupt'/0 'disk_dir'/1 'disk_search'/4 'disk_search'/2
'set_fstring'/2
'true'/0
% kernel library : error handler
error(:0) : functor(:0, :1, :2) . predefined(:1, :2) . ! .
nl . display(' +++ System call error : ') . display(:0) .
nl . bell . fail . []
error(:0) : nl . display(' +++ ERROR : ') . display(:0) . nl . bell . fail . []
% special character output routines
:ordchr(13, :0) . assert(iseoln(:0), [], 0) . assert(nl, wch(:0).[], 0) . [] #
:ordchr(27, :0) . assert(escape, wch(:0).[], 0) .
assert(cls, escape.wch('E').[], 0) . [] #
:ordchr(7, :0) . assert(bell, wch(:0).[], 0) . [] #
% predefined predicates
'='(:0, :0) : []
','(:0, :1) : call(:0) . call(:1) . []
';'(:0, _) : call(:0) . []
';'(_, :0) : call(:0) . []
not(:0) : call(:0) . ! . fail . []
not(_) : []
check(:0) : not(not(:0)) . []
'side_effects'(:0) : not(not(:0)) . []
once(:0) : call(:0) . ! . []
'@=<'(:0, :1) : '@<'(:1, :0) . ! . fail . []
'@=<'(_, _) : []
'@>'(:0, :1) : '@<'(:1, :0) . []
'@>='(:0, :1) : '@=<'(:1, :0) . []
% - - - - - - - - - basic input procedures - - - - - - - - - -
rdchsk(:0) : rch . skipbl . lastch(:0) . []
rdch(:0) : rch . lastch(:1) . sch(:1, :0) . []
% convert nonprintable characters to blanks
sch(:0, :0) : '@<'(' ', :0) . ! . []
sch(:0, ' ') : []
repeat : []
repeat : repeat . []
member(:0, :0.:1) : []
member(:0, _.:1) : member(:0, :1) . []
proc(:0) : '$procinit' . '$pr'(:0) . []
'$pr'(:0) : '$proclimit' . ! . fail . []
'$pr'(:0) : '$proc'(:0) . []
'$pr'(:0) : '$pr'(:0) . []
% b a g o f (preserves order of solutions)
bagof(:0, :1, _) : asserta('BAG'('BAG')) . call(:1) .
asserta('BAG'(:0)) . fail . []
bagof(_, _, :0) : 'BAG'(:1) . ! . intobag(:1, [], :0) . []
intobag('BAG', :0, :0) : ! . retract('BAG', 1, 1) . []
intobag(:0, :1, :2) : retract('BAG', 1, 1) . 'BAG'(:3) . ! .
intobag(:3, :0.:1, :2) . []
% display copyright message :
: grf_mse_hide . grf_f_type(0) . grf_rfbox(152, 136, 487, 263) .
grf_t_align(0, 5) .
grf_text(272, 152, 'TOY Prolog ST') .
grf_text(160, 184, 'TOY Prolog (c) 1983 Kluzniak/Szpakowicz') .
grf_text(272, 200, 'IIUW Warszawa') .
grf_text(168, 232, 'ATARI ST version (c) 1986 Jens Kilian') .
grf_mse_show(0) . grf_mse_form(255) . [] #
% preset user-defined function key strings
: set_fstring(0, ':-') . [] #
: set_fstring(1, '-->') . [] #
: set_fstring(2, '=:=') . [] #
: set_fstring(3, '=\\=') . [] #
: set_fstring(4, '==') . [] #
: set_fstring(5, '\\==') . [] #
: set_fstring(6, '=..') . [] #
: set_fstring(7, 'not') . [] #
: set_fstring(8, 'is') . [] #
: set_fstring(9, 'mod') . [] #
: set_fstring(10, '=<') . [] #
: set_fstring(11, '>=') . [] #
: set_fstring(12, '@<') . [] #
: set_fstring(13, '@>') . [] #
: set_fstring(14, '@=<') . [] #
: set_fstring(15, '@>=') . [] #
: set_fstring(16, ':-sysload(''editor.toy'').\M') . [] #
: set_fstring(17, ':-sysload(''calltree.toy'').\M') . [] #
: set_fstring(20, ':-cls.\M') . [] #
: set_fstring(25, ':-assert(') . [] #
: set_fstring(26, ':-retract(') . [] #
: set_fstring(27, ':-status.\M') . [] #
%%%%%%%%%%%%%%%% THE FOLLOWING CODE COMPRISES THE MONITOR %%%%%%%%%%%%%%%%%%
% Comments had to be sacrificed for disk space - sorry !!!
'ear' :
'nl' .
'display'('TOY Prolog listening:') .
'nl' .
'tag'('loop') . []
'ear' :
'grf_mode' .
'halt'('TOY Prolog --- end of session.') . []
'loop' :
'repeat' .
'display'('?-') .
'read'(:0, :1) .
'exec'(:0, :1) .
'fail' . []
'stop' :
'tagfail'('loop') . []
'sysload'(:0) :
'see'(:0) .
'tagexit'('loop') . []
'exec'('e r r', _) :
'!' . []
'exec'(':-'(:0), _) :
'!' .
'once'(:0) . []
'exec'(:0, _) :
'integer'(:0) .
'!' .
'num_clause' . []
'exec'(':-'(:0, :1), _) :
'!' .
'assimilate'(':-'(:0, :1)) .
'display'('ok') .
'nl' . []
'exec'('-->'(:0, :1), _) :
'!' .
'assimilate'('-->'(:0, :1)) .
'display'('ok') .
'nl' . []
'exec'(:0.:1, _) :
'!' .
'consultall'(:0.:1) . []
'exec'(:0, :1) :
'call'(:0) .
'numbervars'(:0, 0, _) .
'printvars'(:1) .
'enough'(:1) .
'!' . []
'exec'(_, _) :
'display'('no') .
'nl' . []
'enough'(:0) :
'var'(:0) .
'!' . []
'enough'(_) :
'rch' .
'skipbl' .
'lastch'(:0) .
'rch' .
'not'('='(:0, ';')) . []
'printvars'(:0) :
'var'(:0) .
'display'('yes') .
'nl' .
'!' . []
'printvars'(:0) :
'prvars'(:0) . []
'prvars'(:0) :
'var'(:0) .
'!' . []
'prvars'('var'(:0, :1).:2) :
'nl' .
'writetext'(:0) .
'display'(' = ') .
'side_effects'('outt'(:1, 'fd'(_, _), 'q')) .
'wch'(' ') .
'prvars'(:2) . []
'num_clause' :
'display'('A number can''t be a clause.') .
'nl' . []
'consultall'([]) :
'!' . []
'consultall'('-'(:0).:1) :
'!' .
'reconsult'(:0) .
'consultall'(:1) . []
'consultall'(:0.:1) :
'!' .
'consult'(:0) .
'consultall'(:1) . []
'consult'(:0) :
'seeing'(:1) .
'readprog'(:0) .
'see'(:1) . []
'reconsult'(:0) :
'redefine' .
'seeing'(:1) .
'readprog'(:0) .
'see'(:1) .
'redefine' . []
'readprog'('user') :
'!' .
'getprog' . []
'readprog'(:0) :
'see'(:0) .
'echo' .
'getprog' .
'noecho' .
'seen' . []
'getprog' :
'repeat' .
'read'(:0) .
'assimilate'(:0) .
'='(:0, 'end') .
'!' . []
'assimilate'('e r r') :
'!' . []
'assimilate'('-->'(:0, :1)) :
'!' .
'tag'('transl_rule'(:0, :1, :2)) .
'assertz'(:2) . []
'assimilate'(':-'(:0)) :
'!' .
'once'(:0) . []
'assimilate'('end') :
'nl' .
'!' . []
'assimilate'(:0) :
'integer'(:0) .
'!' .
'num_clause' . []
'assimilate'(:0) :
'assertz'(:0) . []
'read'(:0) :
'read'(:0, :1) . []
'read'(:0, :1) :
'gettr'(:2, :1) .
'!' .
'maketerm'(:2, :0) . []
'read'('e r r', _) :
'nl' .
'display'('+++ Bad term on input. Text skipped: ') .
'skip' .
'nl' . []
'skip' :
'lastch'(:0) .
'wch'(:0) .
'skip'(:0) . []
'skip'('.') :
'rch' .
'lastch'(:0) .
'e_skip'(:0) .
'!' . []
'skip'('%') :
'skip_comment' .
'!' .
'rch' .
'skip' . []
'skip'(:0) :
'isquote'(:0) .
'skip_s'(:0) .
'!' .
'rch' .
'skip' . []
'skip'(_) :
'rch' .
'skip' . []
'e_skip'(:0) :
'@=<'(:0, ' ') . []
'e_skip'(:0) :
'wch'(:0) .
'rch' .
'skip' . []
'skip_comment' :
'repeat' .
'rch' .
'lastch'(:0) .
'wch'(:0) .
'iseoln'(:0) .
'!' . []
'isquote'('''') : []
'isquote'('"') : []
'skip_s'(:0) :
'repeat' .
'rch' .
'lastch'(:1) .
'wch'(:1) .
'='(:1, :0) .
'!' . []
'gettr'(:0, :1) :
'gettoken'(:2, :1) .
'parse'('bottom'.[], :2, :0, :1) . []
'parse'('t'(:0).'bottom'.[], 'dot', :0, _) :
'!' . []
'parse'(:0, :1, :2, :3) :
'topterminal'(:0, :4, :5) .
'establish_precedence'(:4, :1, :5, :6, :7, :8) .
'exch_top'(:4, :7, :0, :9) .
'step'(:6, :8, :9, :10, :11, :3) .
'parse'(:10, :11, :2, :3) . []
'topterminal'('t'(_).:0._, :0, 2) :
'!' . []
'topterminal'(:0._, :0, 1) : []
'exch_top'(:0, :0, :1, :1) :
'!' . []
'exch_top'(_, :0, 't'(:1)._.:2, 't'(:1).:0.:2) :
'!' . []
'exch_top'(_, :0, _.:1, :0.:1) : []
'step'('lseq', :0, :1, :0.:1, :2, :3) :
'!' .
'gettoken'(:2, :3) . []
'step'('gt', :0, :1, :2, :0, _) :
'reduce'(:1, :2) . []
'reduce'('vns'(:0).:1, 't'('arg0'(:0)).:1) : []
'reduce'('id'(:0).:1, 't'('arg0'(:0)).:1) : []
'reduce'('br'('r', '()').'t'(:0).'br'('l', '()').'id'(:1).:2, 't'('tr'(:1, :0)).:2) : []
'reduce'('br'('r', :0).'br'('l', :0).:1, 't'('arg0'(:0)).:1) :
'not'('='(:0, '()')) . []
'reduce'('br'('r', :0).'t'(:1).'br'('l', :0).:2, 't'('tr'(:0, :1)).:2) : []
'reduce'('br'('r', '[]').'t'(:0).'bar'.'t'(:1).'br'('l', '[]').:2, 't'('bar'(:1, :0)).:2) : []
'reduce'('ff'(:0, :1, _).'t'(:2).:3, 't'('tr1'(:0, :2)).:3) :
'ismpostf'(:1) . []
'reduce'('t'(:0).'ff'(:1, :2, _).'t'(:3).:4, 't'('tr2'(:1, :3, :0)).:4) :
'isminf'(:2) . []
'reduce'('t'(:0).'ff'(:1, :2, _).:3, 't'('tr1'(:1, :0)).:3) :
'ismpref'(:2) . []
'ispref'('fy') : []
'ispref'('fx') : []
'ispostf'('yf') : []
'ispostf'('xf') : []
'ismpref'(:0.[]) :
'ispref'(:0) . []
'ismpref'(_.:0.[]) :
'ispref'(:0) . []
'isminf'(:0.[]) :
'member'(:0, 'yfy'.'xfy'.'yfx'.'xfx'.[]) . []
'isminf'(_._.[]) : []
'ismpostf'(:0.[]) :
'ispostf'(:0) . []
'ismpostf'(_.:0.[]) :
'ispostf'(:0) . []
'establish_precedence'(:0, :1, :2, :3, :4, :5) :
'p'(:0, :1, :2, :6) .
'finalize'(:6, :0, :1, :3, :4, :5) .
'!' . []
'finalize'('lseq', :0, :1, 'lseq', :0, :1) : []
'finalize'('gt', :0, :1, 'gt', :0, :1) : []
'finalize'('lseq'(:0, :1), _, _, 'lseq', :0, :1) : []
'finalize'('gt'(:0, :1), _, _, 'gt', :0, :1) : []
'p'('id'(_), 'br'('l', '()'), 1, 'lseq') : []
'p'('br'('l', :0), 'br'('r', :0), _, 'lseq') : []
'p'('br'('l', '[]'), 'bar', 2, 'lseq') : []
'p'('bar', 'br'('r', '[]'), 2, 'lseq') : []
'p'(:0, :1, 1, 'gt') :
'vns_id_br'(:0, 'r') .
'br_bar'(:1, 'r') . []
'p'(:0, 'ff'(:1, :2, :3), 1, 'gt'(:0, 'ff'(:1, :4, :3))) :
'vns_id_br'(:0, 'r') .
'restrict'(:2, 'fx'.'fy'.[], :4) . []
'p'(:0, :1, 1, 'lseq') :
'br_bar'(:0, 'l') .
'vns_id_br'(:1, 'l') . []
'p'(:0, 'ff'(:1, :2, :3), :4, 'lseq'(:0, 'ff'(:1, :5, :3))) :
'br_bar'(:0, 'l') .
'pre_inpost'(:4, :2, :5) . []
'p'('ff'(:0, :1, :2), :3, :4, 'gt'('ff'(:0, :5, :2), :3)) :
'br_bar'(:3, 'r') .
'post_inpre'(:4, :1, :5) . []
'p'('ff'(:0, :1, :2), :3, 1, 'lseq'('ff'(:0, :4, :2), :3)) :
'vns_id_br'(:3, 'l') .
'restrict'(:1, 'xf'.'yf'.[], :4) . []
'p'('ff'(:0, :1, :2), 'ff'(:3, :4, :2), :5, :6) :
'res_confl'(:1, :4, :5, :7, :8, :9) .
'!' .
'do_rel'(:9, 'ff'(:0, :7, :2), 'ff'(:3, :8, :2), :6) . []
'p'('ff'(:0, :1, :2), 'ff'(:3, :4, :5), :6, 'gt'('ff'(:0, :7, :2), 'ff'(:3, :8, :5))) :
'stronger'(:2, :5) .
'!' .
'restrict'(:4, 'fx'.'fy'.[], :8) .
'post_inpre'(:6, :1, :7) . []
'p'('ff'(:0, :1, :2), 'ff'(:3, :4, :5), :6, 'lseq'('ff'(:0, :7, :2), 'ff'(:3, :8, :5))) :
'stronger'(:5, :2) .
'!' .
'restrict'(:1, 'xf'.'yf'.[], :7) .
'pre_inpost'(:6, :4, :8) . []
'p'(_, 'dot', _, 'gt') : []
'p'('bottom', _, _, 'lseq') : []
'vns_id_br'('vns'(_), _) : []
'vns_id_br'('id'(_), _) : []
'vns_id_br'('br'(:0, _), :0) : []
'br_bar'('br'(:0, _), :0) : []
'br_bar'('bar', _) : []
'stronger'(:0, :1) :
'less'(:0, :1) . []
'pre_inpost'(1, :0, :1) :
'restrict'(:0, 'xf'.'yf'.[], :2) .
'restrict'(:2, 'xfy'.'yfx'.'xfx'.[], :1) . []
'pre_inpost'(2, :0, :1) :
'restrict'(:0, 'fx'.'fy'.[], :1) . []
'post_inpre'(1, :0, :1) :
'restrict'(:0, 'fx'.'fy'.[], :2) .
'restrict'(:2, 'xfy'.'yfx'.'xfx'.[], :1) . []
'post_inpre'(2, :0, :1) :
'restrict'(:0, 'xf'.'yf'.[], :1) . []
'restrict'(:0.[], :1, :0.[]) :
'!' .
'not'('member'(:0, :1)) . []
'restrict'(:0.:1.[], :2, :0.[]) :
'member'(:1, :2) .
'!' . []
'restrict'(:0.:1.[], :2, :1.[]) :
'member'(:0, :2) .
'!' . []
'restrict'(:0, _, :0) : []
'res_confl'(:0.[], :1.[], :2, :0.[], :1.[], :3) :
'!' .
'ff_p'(:0, :1, :2, :3) . []
'res_confl'(:0.:1.[], :2.[], :3, :4, :2.[], :5) :
'!' .
'ff_p'(:0, :2, :3, :6) .
'ff_p'(:1, :2, :3, :7) .
'match_rels'(:6, :7, :5, :0, :1, :4) . []
'res_confl'(:0.[], :1.:2.[], :3, :0.[], :4, :5) :
'!' .
'ff_p'(:0, :1, :3, :6) .
'ff_p'(:0, :2, :3, :7) .
'match_rels'(:6, :7, :5, :1, :2, :4) . []
'res_confl'(:0.:1.[], :2.:3.[], :4, :5, :6, :7) :
'ff_p'(:0, :2, :4, :8) .
'ff_p'(:0, :3, :4, :9) .
'ff_p'(:1, :2, :4, :10) .
'ff_p'(:1, :3, :4, :11) .
'res_mixed'(:8, :9, :10, :11, :7, :0, :1, :2, :3, :5, :6) .
'!' . []
'do_rel'('lseq', :0, :1, 'lseq'(:0, :1)) : []
'do_rel'('gt', :0, :1, 'gt'(:0, :1)) : []
'match_rels'(:0, :0, :0, :1, :2, :1.:2.[]) :
'!' . []
'match_rels'('err', :0, :0, _, :1, :1.[]) :
'!' . []
'match_rels'(:0, 'err', :0, :1, _, :1.[]) :
'!' . []
'match_rels'(_, _, 'err', :0, :1, :0.:1.[]) : []
'res_mixed'(:0, :0, :0, :0, :0, :1, :2, :3, :4, :1.:2.[], :3.:4.[]) : []
'res_mixed'('err', 'err', :0, :1, :2, _, :3, :4, :5, :3.[], :6) :
'match_rels'(:0, :1, :2, :4, :5, :6) . []
'res_mixed'(:0, :1, 'err', 'err', :2, :3, _, :4, :5, :3.[], :6) :
'match_rels'(:0, :1, :2, :4, :5, :6) . []
'res_mixed'('err', :0, 'err', :1, :2, :3, :4, _, :5, :6, :5.[]) :
'match_rels'(:0, :1, :2, :3, :4, :6) . []
'res_mixed'(:0, 'err', :1, 'err', :2, :3, :4, :5, _, :6, :5.[]) :
'match_rels'(:0, :1, :2, :3, :4, :6) . []
'res_mixed'(_, _, _, _, 'err', _, _, _, _, _, _) : []
'ff_p'(:0, :1, :2, 'lseq') :
'member'(:0, 'xfy'.'fy'.[]) .
'ff_p_aux1'(:2, :1) .
'!' . []
'ff_p'(:0, :1, :2, 'gt') :
'member'(:1, 'yfx'.'yf'.[]) .
'ff_p_aux2'(:2, :0) .
'!' . []
'ff_p'(_, _, _, 'err') : []
'ff_p_aux1'(1, :0) :
'ispref'(:0) . []
'ff_p_aux1'(2, :0) :
'member'(:0, 'xfy'.'xf'.'xfx'.[]) . []
'ff_p_aux2'(1, :0) :
'ispostf'(:0) . []
'ff_p_aux2'(2, :0) :
'member'(:0, 'yfx'.'fx'.'xfx'.[]) . []
'maketerm'('arg0'(:0), :0) :
'!' . []
'maketerm'('tr'('()', :0), :1) :
'!' .
'maketerm'(:0, :1) . []
'maketerm'('bar'(:0, :1), :2) :
'!' .
'maketerm'(:1, :3) .
'makelist'(:0, :3, :2) . []
'maketerm'('tr'('[]', :0), :1) :
'!' .
'makelist'(:0, '[]', :1) . []
'maketerm'('tr'('{}', :0), '{}'(:1)) :
'!' .
'maketerm'(:0, :1) . []
'maketerm'('tr'(:0, :1), :2) :
'!' .
'makelist'(:1, '[]', :3) .
'=..'(:2, :0.:3) . []
'maketerm'('tr2'(:0, :1, :2), :3) :
'!' .
'maketerm'(:1, :4) .
'maketerm'(:2, :5) .
'=..'(:3, :0.:4.:5.[]) . []
'maketerm'('tr1'(:0, :1), :2) :
'maketerm'(:1, :3) .
'=..'(:2, :0.:3.[]) . []
'makelist'('tr2'(',', :0, :1), :2, :3.:4) :
'!' .
'maketerm'(:0, :3) .
'makelist'(:1, :2, :4) . []
'makelist'(:0, :1, :2.:1) :
'maketerm'(:0, :2) . []
'gettoken'(:0, :1) :
'skipbl' .
'lastch'(:2) .
'absorbtoken'(:2, :3) .
'!' .
'maketoken'(:3, :0, :1) .
'!' . []
'absorbtoken'(:0, 'id'(:0.:1)) :
'wordstart'(:0) .
'getword'(:1) . []
'absorbtoken'(:0, 'var'(:0.:1)) :
'varstart'(:0) .
'getword'(:1) . []
'absorbtoken'(:0, 'id'(:0.[])) :
'solochar'(:0) .
'rch' . []
'absorbtoken'(:0, 'br'(:1, :2)) :
'bracket'(:0) .
'bracket'(:0, :1, :2) .
'rch' . []
'absorbtoken'('|', 'bar') :
'rch' . []
'absorbtoken'('''', 'qid'(:0)) :
'rdch'(:1) .
'getstring'('''', :1, :0) . []
'absorbtoken'('"', 'str'(:0)) :
'rdch'(:1) .
'getstring'('"', :1, :0) . []
'absorbtoken'(:0, 'num'(:0.:1)) :
'digit'(:0) .
'getdigits'(:1) . []
'absorbtoken'('-', :0) :
'rdch'(:1) .
'num_or_sym'(:1, :0) . []
'absorbtoken'('.', :0) :
'rdch'(:1) .
'dot_or_sym'(:1, :0) . []
'absorbtoken'(:0, 'id'(:0.:1)) :
'symch'(:0) .
'getsym'(:1) . []
'absorbtoken'('%', :0) :
'skipcomment' .
'lastch'(:1) .
'absorbtoken'(:1, :0) . []
'absorbtoken'(:0, _) :
'display'('errinscan'(:0)) .
'nl' .
'fail' . []
'num_or_sym'(:0, 'num'('-'.:0.:1)) :
'digit'(:0) .
'getdigits'(:1) . []
'num_or_sym'(:0, 'id'('-'.:0.:1)) :
'symch'(:0) .
'getsym'(:1) . []
'num_or_sym'(_, 'id'('-'.[])) : []
'dot_or_sym'(:0, 'dot') :
'@=<'(:0, ' ') . []
'dot_or_sym'(:0, 'id'('.'.:0.:1)) :
'symch'(:0) .
'getsym'(:1) . []
'dot_or_sym'(_, 'id'('.'.[])) : []
'skipcomment' :
'lastch'(:0) .
'iseoln'(:0) .
'skipbl' .
'!' . []
'skipcomment' :
'rch' .
'skipcomment' . []
'getword'(:0.:1) :
'rdch'(:0) .
'alphanum'(:0) .
'!' .
'getword'(:1) . []
'getword'([]) : []
'getdigits'(:0.:1) :
'rdch'(:0) .
'digit'(:0) .
'!' .
'getdigits'(:1) . []
'getdigits'([]) : []
'getsym'(:0.:1) :
'rdch'(:0) .
'symch'(:0) .
'!' .
'getsym'(:1) . []
'getsym'([]) : []
'getstring'(:0, :0, :1) :
'!' .
'rdch'(:2) .
'twodelims'(:0, :2, :1) . []
'getstring'(:0, :1, :1.:2) :
'rdch'(:3) .
'getstring'(:0, :3, :2) . []
'twodelims'(:0, :0, :0.:1) :
'!' .
'rdch'(:2) .
'getstring'(:0, :2, :1) . []
'twodelims'(_, _, []) : []
'wordstart'(:0) :
'smalletter'(:0) . []
'varstart'(:0) :
'bigletter'(:0) . []
'varstart'('_') : []
'bracket'('(', 'l', '()') : []
'bracket'(')', 'r', '()') : []
'bracket'('[', 'l', '[]') : []
'bracket'(']', 'r', '[]') : []
'bracket'('{', 'l', '{}') : []
'bracket'('}', 'r', '{}') : []
'maketoken'('var'(:0), 'vns'(:1), :2) :
'makeptr'(:0, :1, :2) . []
'maketoken'('id'(:0), :1, _) :
'pname'(:2, :0) .
'make_ff_or_id'(:2, :1) . []
'maketoken'('qid'(:0), 'id'(:1), _) :
'pname'(:1, :0) . []
'maketoken'('num'('-'.:0), 'vns'(:1), _) :
'pnamei'(:2, :0) .
'sum'(:1, :2, 0) . []
'maketoken'('num'(:0), 'vns'(:1), _) :
'pnamei'(:1, :0) . []
'maketoken'('str'(:0), 'vns'(:0), _) : []
'maketoken'(:0, :0, _) : []
'makeptr'('_'.[], _, _) : []
'makeptr'(:0, :1, :2) :
'look_var'('var'(:0, :1), :2) . []
'look_var'(:0, :0.:1) : []
'look_var'(:0, _.:1) :
'look_var'(:0, :1) . []
'make_ff_or_id'(:0, 'ff'(:0, :1, :2)) :
'FF'(:0, :1, :2) . []
'make_ff_or_id'(:0, 'id'(:0)) : []
'transl_rule'(:0, :1, :2) :
'two_ok'(:0, :1) .
'isolate_lhs_t'(:0, :3, :4) .
'connect'(:4, :5, :6) .
'expand'(:3, :7, :5, :8) .
'makebody'(:1, :7, :6, :9, :10) .
'do_clause'(:9, :8, :2) . []
'do_clause'('true', :0, :0) :
'!' . []
'do_clause'(:0, :1, ':-'(:1, :0)) : []
'isolate_lhs_t'(','(:0, :1), :0, :1) :
';'('nonvarint'(:0), 'rulerror'('varint')) .
';'('isclosedlist'(:1), 'rulerror'('ter')) .
'!' . []
'isolate_lhs_t'(:0, :0, []) : []
'isclosedlist'(:0) :
'check'('iscll'(:0)) . []
'iscll'(:0) :
'var'(:0) .
'!' .
'fail' . []
'iscll'([]) : []
'iscll'(_.:0) :
'iscll'(:0) . []
'connect'([], :0, :0) : []
'connect'(:0.:1, :0.:2, :3) :
'connect'(:1, :2, :3) . []
'makebody'(';'(:0, :1), :2, :3, ';'(','(' dummy'(:2, :4), :5), :6), _) :
'!' .
'two_ok'(:0, :1) .
'makeright'(:0, :4, :3, :5) .
'makebody'(:1, :2, :3, :6, 'alt') . []
'makebody'(:0, :1, :2, :3, :4) :
'var'(:4) .
'!' .
'makeright'(:0, :1, :2, :3) . []
'makebody'(:0, :1, :2, ','(' dummy'(:1, :3), :4), 'alt') :
'makeright'(:0, :3, :2, :4) . []
'makeright'(','(:0, :1), :2, :3, :4) :
'!' .
'two_ok'(:0, :1) .
'transl_item'(:0, :2, :5, :6) .
'makeright'(:1, :5, :3, :7) .
'combine'(:6, :7, :4) . []
'makeright'(:0, :1, :2, :3) :
'transl_item'(:0, :1, :2, :3) . []
'combine'('true', :0, :0) :
'!' . []
'combine'(:0, 'true', :0) :
'!' . []
'combine'(:0, :1, ','(:0, :1)) : []
'transl_item'(:0, :1, :2, 'true') :
'isclosedlist'(:0) .
'!' .
'connect'(:0, :1, :2) . []
'transl_item'('!', :0, :0, '!') :
'!' . []
'transl_item'('{}'(:0), :1, :1, 'call'(:0)) :
'!' . []
'transl_item'(_._, _, _, _) :
'rulerror'('ter') . []
'transl_item'(';'(:0, :1), :2, :3, :4) :
'!' .
'makebody'(';'(:0, :1), :2, :3, :4, _) . []
'transl_item'(:0, :1, :2, :3) :
'expand'(:0, :1, :2, :3) . []
'expand'(:0, :1, :2, :3) :
'=..'(:0, :4.:5) .
'=..'(:3, :4.:1.:2.:5) . []
'two_ok'(:0, :1) :
'nonvarint'(:0) .
'nonvarint'(:1) .
'!' . []
'two_ok'(_, _) :
'rulerror'('varint') . []
'rulerror'(:0) :
'nl' .
'display'('+++ Error in this rule: ') .
'mes'(:0) .
'nl' .
'tagfail'('transl_rule'(_, _, _)) . []
'mes'('varint') :
'display'('variable or integer item.') . []
'mes'('ter') :
'display'('terminals not in a closed list.') . []
'phrase'(:0, :1) :
'nonvarint'(:0) .
'!' .
'expand'(:0, :1, [], :2) .
'call'(:2) . []
'phrase'(:0, :1) :
'error'('phrase'(:0, :1)) . []
' dummy'(:0, :0) : []
'=..'(:0, :1) :
'var'(:0) .
'var'(:1) .
'!' .
'error'('=..'(:0, :1)) . []
'=..'(:0, :0.[]) :
'integer'(:0) .
'!' . []
'=..'(:0, :1.:2) :
'setarity'(:0, :2, :3) .
'functor'(:0, :1, :3) .
'not'('integer'(:1)) .
'setargs'(:0, :2, 0, :3) . []
'setarity'(:0, :1, :2) :
'var'(:0) .
'!' .
'length'(:1, :2) . []
'setarity'(_, _, _) : []
'setargs'(_, [], :0, :0) :
'!' . []
'setargs'(:0, :1.:2, :3, :4) :
'sum'(:3, 1, :5) .
'arg'(:5, :0, :1) .
'setargs'(:0, :2, :5, :4) . []
'length'(:0, :1) :
'length'(:0, 0, :1) . []
'length'(:0, _, _) :
'var'(:0) .
'!' .
'error'('length'(:0, _)) . []
'length'([], :0, :0) :
'!' . []
'length'(_.:0, :1, :2) :
'!' .
'sum'(:1, 1, :3) .
'length'(:0, :3, :2) . []
'length'(:0, _, _) :
'error'('length'(:0, _)) . []
'numbervars'('V'(:0), :0, :1) :
'!' .
'sum'(:0, 1, :1) . []
'numbervars'('V'(_), :0, :0) :
'!' . []
'numbervars'(:0, :1, :1) :
'integer'(:0) .
'!' . []
'numbervars'(:0, :1, :2) :
'numbervars'(:0, 1, :1, :2) . []
'numbervars'(:0, :1, :2, :3) :
'arg'(:1, :0, :4) .
'!' .
'numbervars'(:4, :2, :5) .
'sum'(:1, 1, :6) .
'numbervars'(:0, :6, :5, :3) . []
'numbervars'(_, _, :0, :0) : []
: 'op'(1000, 'xfy', ',') . [] #
: 'op'(1200, 'xfx', ':-') . [] #
: 'op'(1200, 'fx', ':-') . [] #
: 'op'(1100, 'xfy', ';') . [] #
: 'op'(900, 'fy', 'not') . [] #
: 'op'(700, 'xfx', '=') . [] #
: 'op'(700, 'xfx', 'is') . [] #
: 'op'(1200, 'xfx', '-->') . [] #
: 'op'(500, 'yfx', '+') . [] #
: 'op'(500, 'fx', '+') . [] #
: 'op'(500, 'yfx', '-') . [] #
: 'op'(500, 'fx', '-') . [] #
: 'op'(400, 'yfx', '*') . [] #
: 'op'(400, 'yfx', '/') . [] #
: 'op'(300, 'xfx', 'mod') . [] #
: 'op'(700, 'xfx', '<') . [] #
: 'op'(700, 'xfx', '=<') . [] #
: 'op'(700, 'xfx', '>') . [] #
: 'op'(700, 'xfx', '>=') . [] #
: 'op'(700, 'xfx', '=:=') . [] #
: 'op'(700, 'xfx', '=\=') . [] #
: 'op'(700, 'xfx', '@<') . [] #
: 'op'(700, 'xfx', '@=<') . [] #
: 'op'(700, 'xfx', '@>') . [] #
: 'op'(700, 'xfx', '@>=') . [] #
: 'op'(700, 'xfx', '=..') . [] #
: 'op'(700, 'xfx', '==') . [] #
: 'op'(700, 'xfx', '\==') . [] #
'binary'('yfy', 'a'(_)) : []
'binary'('xfy', 'a'('r')) : []
'binary'('yfx', 'a'('l')) : []
'binary'('xfx', 'na'(_)) : []
'unary'('fy', 'pre', 'a'('r')) : []
'unary'('fx', 'pre', 'na'('r')) : []
'unary'('yf', 'post', 'a'('l')) : []
'unary'('xf', 'post', 'na'('l')) : []
'is'(:0, :0) :
'integer'(:0) .
'!' . []
'is'(:0, '+'(:1, :2)) :
'!' .
'is'(:3, :1) .
'is'(:4, :2) .
'sum'(:3, :4, :0) . []
'is'(:0, '-'(:1, :2)) :
'!' .
'is'(:3, :1) .
'is'(:4, :2) .
'sum'(:4, :0, :3) . []
'is'(:0, '*'(:1, :2)) :
'!' .
'is'(:3, :1) .
'is'(:4, :2) .
'prod'(:3, :4, 0, :0) . []
'is'(:0, '/'(:1, :2)) :
'!' .
'is'(:3, :1) .
'is'(:4, :2) .
'prod'(:4, :0, _, :3) . []
'is'(:0, 'mod'(:1, :2)) :
'!' .
'is'(:3, :1) .
'is'(:4, :2) .
'prod'(:4, _, :0, :3) . []
'is'(:0, '+'(:1)) :
'!' .
'is'(:0, :1) . []
'is'(:0, '-'(:1)) :
'!' .
'is'(:2, :1) .
'sum'(:0, :2, 0) . []
'is'(:0, :0.[]) :
'integer'(:0) . []
'=:='(:0, :1) :
'is'(:2, :0) .
'is'(:2, :1) . []
'<'(:0, :1) :
'is'(:2, :0) .
'is'(:3, :1) .
'less'(:2, :3) . []
'=<'(:0, :1) :
'is'(:2, :0) .
'is'(:3, :1) .
'not'('less'(:3, :2)) . []
'>'(:0, :1) :
'is'(:2, :0) .
'is'(:3, :1) .
'less'(:3, :2) . []
'>='(:0, :1) :
'is'(:2, :0) .
'is'(:3, :1) .
'not'('less'(:2, :3)) . []
'=\='(:0, :1) :
'not'('=:='(:0, :1)) . []
'=='(:0, :1) :
'var'(:0) .
'var'(:1) .
'!' .
'eqvar'(:0, :1) . []
'=='(:0, :1) :
'check'('==?'(:0, :1)) . []
'\=='(:0, :1) :
'not'('==?'(:0, :1)) . []
'==?'(:0, :1) :
'integer'(:0) .
'integer'(:1) .
'!' .
'='(:0, :1) . []
'==?'(:0, :1) :
'nonvarint'(:0) .
'nonvarint'(:1) .
'functor'(:0, :2, :3) .
'functor'(:1, :2, :3) .
'equalargs'(:0, :1, 1) . []
'equalargs'(:0, :1, :2) :
'arg'(:2, :0, :3) .
'arg'(:2, :1, :4) .
'!' .
'=='(:3, :4) .
'sum'(:2, 1, :5) .
'equalargs'(:0, :1, :5) . []
'equalargs'(_, _, _) : []
'assert'(:0) :
'asserta'(:0) . []
'asserta'(:0) :
'nonvarint'(:0) .
'convert'(:0, :1, :2) .
'!' .
'assert'(:1, :2, 0) . []
'asserta'(:0) :
'error'('asserta'(:0)) . []
'assertz'(:0) :
'nonvarint'(:0) .
'convert'(:0, :1, :2) .
'!' .
'assert'(:1, :2, 32767) . []
'assertz'(:0) :
'error'('assertz'(:0)) . []
'convert'(':-'(:0, :1), :0, :2) :
'conv_body'(:1, :2) . []
'convert'(:0, :0, []) : []
'conv_body'(:0, 'call'(:0).[]) :
'var'(:0) .
'!' . []
'conv_body'('true', []) : []
'conv_body'(:0, :1) :
'conv_b'(:0, :1) . []
'conv_b'(:0, :1.[]) :
'var'(:0) .
'!' .
'conv_call'(:0, :1) . []
'conv_b'(','(:0, :1), :2.:3) :
'!' .
'conv_call'(:0, :2) .
'conv_b'(:1, :3) . []
'conv_b'(:0, :0.[]) : []
'conv_call'(:0, 'call'(:0)) :
'var'(:0) .
'!' . []
'conv_call'(:0, :0) : []
'retract'(:0) :
'nonvarint'(:0) .
'convert'(:0, :1, :2) .
'!' .
'functor'(:1, :3, :4) .
'remcls'(:3, :4, 1, :1, :2) . []
'retract'(:0) :
'error'('retract'(:0)) . []
'remcls'(:0, :1, :2, :3, :4) :
'clause'(:0, :1, :2, :5, :6) .
'remcls'(:0, :1, :2, :5, :3, :6, :4) . []
'remcls'(:0, :1, :2, :3, :3, :4, :4) :
'retract'(:0, :1, :2) . []
'remcls'(:0, :1, :2, :3, :4, :5, :6) :
'check'('='(:3, :4)) .
'check'('='(:5, :6)) .
'!' .
'remcls'(:0, :1, :2, :4, :6) . []
'remcls'(:0, :1, :2, _, :3, _, :4) :
'sum'(:2, 1, :5) .
'remcls'(:0, :1, :5, :3, :4) . []
'clause'(:0, :1) :
'nonvarint'(:0) .
'!' .
'functor'(:0, :2, :3) .
'gencls'(:2, :3, 1, :0, :1) . []
'clause'(:0, :1) :
'error'('clause'(:0, :1)) . []
'gencls'(:0, :1, :2, :3, :4) :
'clause'(:0, :1, :2, :5, :6) .
'gencls'(:0, :1, :2, :5, :3, :6, :4) . []
'gencls'(_, _, _, :0, :0, :1, :2) :
'conv_body'(:2, :1) . []
'gencls'(:0, :1, :2, _, :3, _, :4) :
'sum'(:2, 1, :5) .
'gencls'(:0, :1, :5, :3, :4) . []
'listing' :
'proc'(:0) .
'listproc'(:0) .
'nl' .
'fail' . []
'listing' : []
'listing'(:0) :
'atom'(:0) .
'!' .
'listbyname'(:0) . []
'listing'('/'(:0, :1)) :
'atom'(:0) .
'integer'(:1) .
'=<'(0, :1) .
'!' .
'functor'(:2, :0, :1) .
'listproc'(:2) . []
'listing'(:0) :
'isclosedlist'(:0) .
'listseveral'(:0) .
'!' . []
'listing'(:0) :
'error'('listing'(:0)) . []
'listseveral'([]) : []
'listseveral'(:0.:1) :
'listing'(:0) .
'listseveral'(:1) . []
'listbyname'(:0) :
'proc'(:1) .
'functor'(:1, :0, _) .
'listproc'(:1) .
'nl' .
'fail' . []
'listbyname'(_) : []
'listproc'(:0) :
'clause'(:0, :1) .
'writeclause'(:0, :1) .
'wch'('.') .
'nl' .
'fail' . []
'listproc'(_) : []
'writeclause'(:0, :1) :
'not'('var'(:1)) .
'='(:1, 'true') .
'!' .
'writeq'(:0) . []
'writeclause'(:0, :1) :
'writeq'(':-'(:0, :1)) . []
'write'(:0) :
'side_effects'('outterm'(:0, 'noq')) . []
'writeq'(:0) :
'side_effects'('outterm'(:0, 'q')) . []
'writetext'(:0.:1) :
'!' .
'wch'(:0) .
'writetext'(:1) . []
'writetext'([]) : []
'outterm'(:0, :1) :
'numbervars'(:0, 1, _) .
'outt'(:0, 'fd'(_, _), :1) . []
'outt'(:0, _, _) :
'var'(:0) .
'!' .
'wch'('_') . []
'outt'('V'(:0), _, _) :
'integer'(:0) .
'!' .
'wch'('X') .
'display'(:0) . []
'outt'(:0, _, _) :
'integer'(:0) .
'display'(:0) .
'!' . []
'outt'(:0, :1, :2) :
'=..'(:0, :3.:4) .
'outfun'(:3, :4, :1, :2) . []
'outfun'(:0, :1, :2, :3) :
'isfix'(:0, :1, :4, :5) .
'!' .
'outff'(:5, :4, :0.:1, :2, :3) . []
'outfun'('.', :0.:1.[], _, :2) :
'!' .
'outlist'(:0.:1, :2) . []
'outfun'(:0, :1, _, :2) :
'outname'(:0, :2) .
'outargs'(:1, :2) . []
'isfix'(:0, _._.[], 'ff'(:1, :2), 'in') :
'FF'(:0, :3, :1) .
'mk_bin'(:3, :2) . []
'isfix'(:0, _.[], 'ff'(:1, :2), :3) :
'FF'(:0, :4, :1) .
'mk_un'(:4, :3, :2) . []
'mk_bin'(:0._, :1) :
'binary'(:0, :1) . []
'mk_un'(:0.[], :1, :2) :
'unary'(:0, :1, :2) . []
'mk_un'(_.:0.[], :1, :2) :
'unary'(:0, :1, :2) . []
'outff'(:0, :1, :2, :3, :4) :
'agree'(:1, :3) .
'!' .
'outff'(:0, :1, :2, :4) . []
'outff'(:0, :1, :2, _, :3) :
'wch'('(') .
'outff'(:0, :1, :2, :3) .
'wch'(')') . []
'agree'(_, 'fd'(:0, _)) :
'var'(:0) . []
'agree'('ff'(:0, _), 'fd'('ff'(:1, _), _)) :
'stronger'(:0, :1) . []
'agree'('ff'(:0, 'a'(:1)), 'fd'('ff'(:0, 'a'(:1)), :1)) : []
'outff'('in', :0, :1.:2.:3.[], :4) :
'outt'(:2, 'fd'(:0, 'l'), :4) .
'outfn'(:1, ' ') .
'outt'(:3, 'fd'(:0, 'r'), :4) . []
'outff'('pre', :0, :1.:2.[], :3) :
'outfn'(:1, ' ') .
'outt'(:2, 'fd'(:0, 'r'), :3) . []
'outff'('post', :0, :1.:2.[], :3) :
'outt'(:2, 'fd'(:0, 'l'), :3) .
'outfn'(:1, ' ') . []
'outfn'(:0, ' ') :
'!' .
'wch'(' ') .
'display'(:0) .
'wch'(' ') . []
'outfn'(:0, :1) :
'wch'(:1) .
'pname'(:0, :2) .
'outfn1'(:2, :1) .
'wch'(:1) . []
'outfn1'([], _) :
'!' . []
'outfn1'(:0.:1, :0) :
'!' .
'wch'(:0) .
'wch'(:0) .
'outfn1'(:1, :0) . []
'outfn1'(:0.:1, :2) :
'wch'(:0) .
'outfn1'(:1, :2) . []
'outname'(:0, 'noq') :
'!' .
'display'(:0) . []
'outname'(:0, 'q') :
'FF'(:0, _, _) .
'!' .
'outfn'(:0, '''') . []
'outname'(:0, 'q') :
'pname'(:0, :1) .
'check'('noq'(:1)) .
'!' .
'display'(:0) . []
'outname'(:0, 'q') :
'outfn'(:0, '''') . []
'noq'(:0.:1) :
'wordstart'(:0) .
'isword'(:1) . []
'noq'(:0.[]) :
'solochar'(:0) . []
'noq'('['.']'.[]) : []
'noq'(:0.:1) :
'symch'(:0) .
'issym'(:1) . []
'isword'([]) : []
'isword'(:0.:1) :
'alphanum'(:0) .
'isword'(:1) . []
'issym'([]) : []
'issym'(:0.:1) :
'symch'(:0) .
'issym'(:1) . []
'outargs'([], _) :
'!' . []
'outargs'(:0, :1) :
'fake'(:2) .
'wch'('(') .
'outargs'(:0, :2, :1) .
'wch'(')') . []
'outargs'(:0.[], :1, :2) :
'!' .
'outt'(:0, :1, :2) . []
'outargs'(:0.:1, :2, :3) :
'outt'(:0, :2, :3) .
'display'(', ') .
'outargs'(:1, :2, :3) . []
'fake'('fd'('ff'(1000, 'na'(_)), _)) : []
'outlist'(:0.:1, :2) :
'fake'(:3) .
'wch'('[') .
'outt'(:0, :3, :2) .
'outlist'(:1, :3, :2) .
'wch'(']') . []
'outlist'([], _, _) :
'!' . []
'outlist'(:0.:1, :2, :3) :
'!' .
'display'(', ') .
'outt'(:0, :2, :3) .
'outlist'(:1, :2, :3) . []
'outlist'(:0, :1, :2) :
'display'(' | ') .
'outt'(:0, :1, :2) . []
'translate'(:0, :1) :
'see'(:0) .
'tell'(:1) .
'nl' .
'repeat' .
'read'(:2, :3) .
'put'(:2, :3) .
'nl' .
'='(:2, 'end') .
'!' .
'seen' .
'told' .
'see'('user') .
'tell'('user') . []
'put'(':-'(:0, :1), :2) :
'!' .
'puthead'(:0, :3) .
'putbody'(:1, :3) .
'put_varnames'(:2, :3, 0) . []
'put'('-->'(:0, :1), :2) :
'!' .
'tag'('transl_rule'(:0, :1, ':-'(:3, :4))) .
'puthead'(:3, :5) .
'putbody'(:4, :5) .
'put_varnames'(:2, :5, 0) . []
'put'(':-'(:0), :1) :
'!' .
'putbody'(:0, :2) .
'wch'('#') .
'nl' .
'put_varnames'(:1, :2, 0) .
'once'(:0) . []
'put'('end', _) :
'!' .
'putbody'('seen', _) .
'wch'('#') .
'nl' . []
'put'('e r r', _) :
'!' . []
'put'(:0, :1) :
'puthead'(:0, :2) .
'putbody'('true', _) .
'put_varnames'(:1, :2, 0) . []
'puthead'(:0, :1) :
'nonvarint'(:0) .
'!' .
'putterm'(:0, :1) . []
'puthead'(:0, _) :
'transl_err'(:0) . []
'putbody'(:0, :1) :
'punct'(':') .
'conv_body'(:0, :2) .
'!' .
'putbody_c'(:2, :1) . []
'putbody_c'([], _) :
'!' .
'display'([]) . []
'putbody_c'(:0.:1, :2) :
'not'('integer'(:0)) .
'!' .
'putterm'(:0, :2) .
'punct'('.') .
'putbody_c'(:1, :2) . []
'putbody_c'(:0._, _) :
'transl_err'(:0) . []
'punct'(:0) :
'wch'(' ') .
'wch'(:0) .
'nl' .
'display'(' ') . []
'putterm'(:0, :1) :
'var'(:0) .
'!' .
'lookup'(:0, :1, -1, :2) .
'wch'(':') .
'display'(:2) . []
'putterm'(:0, _) :
'integer'(:0) .
'!' .
'display'(:0) . []
'putterm'(:0.:1, :2) :
'!' .
'putterm_inlist'(:0, :2) .
'display'(' . ') .
'putterm'(:1, :2) . []
'putterm'(:0, :1) :
'=..'(:0, :2.:3) .
'outfn'(:2, '''') .
'putargs'(:3, :1) . []
'lookup'(:0, :1, :2, :3) :
'var'(:1) .
'!' .
'sum'(:2, 1, :3) .
'='(:1, 'vn'(:0, :3).:4) . []
'lookup'(:0, 'vn'(:1, :2)._, _, :2) :
'eqvar'(:0, :1) .
'!' . []
'lookup'(:0, 'vn'(_, :1).:2, _, :3) :
'lookup'(:0, :2, :1, :3) . []
'putargs'([], _) :
'!' . []
'putargs'(:0, :1) :
'wch'('(') .
'putarglist'(:0, :1) .
'wch'(')') . []
'putarglist'(:0.[], :1) :
'!' .
'putterm'(:0, :1) . []
'putarglist'(:0.:1, :2) :
'putterm'(:0, :2) .
'display'(', ') .
'putarglist'(:1, :2) . []
'putterm_inlist'(:0, :1) :
'nonvarint'(:0) .
'='(:0, _._) .
'!' .
'wch'('(') .
'putterm'(:0, :1) .
'wch'(')') . []
'putterm_inlist'(:0, :1) :
'putterm'(:0, :1) . []
'transl_err'(:0) :
'nl' .
'display'('+++ Bad head or call: ') .
'display'(:0) .
'nl' .
'fail' . []
'put_varnames'(:0, :1, :2) :
'var'(:1) .
'!' .
[]
'put_varnames'(:0, 'vn'(:1, :2) . :3, :4) :
'find_varname'(:1, :0, :2, :5) .
'nextline'(:4) .
'wch'(' ') .
'display'(:2) .
'wch'(' ') .
'writetext'(:5) .
'wch'(',') .
'sum'(:4, 1, :6) .
'put_varnames'(:0, :3, :6) .
[]
'find_varname'(:0, :1, :2, 'X' . :3) :
'var'(:1) .
'!' .
'pnamei'(:2, :3) .
[]
'find_varname'(:0, 'var'(:1, :2) . :3, :4, :1) :
'eqvar'(:0, :2) .
'!' .
[]
'find_varname'(:0, :1 . :2, :3, :4) :
'find_varname'(:0, :2, :3, :4) .
[]
'nextline'(:0) :
'prod'(6, _, 0, :0) .
'!' .
'nl' .
'display'(' %%') . []
'nextline'(_) : []
'protect' :
'proc'(:0) .
'functor'(:0, :1, :2) .
'protect'(:1, :2) .
'fail' . []
'protect' :
'display'('All predicates protected.') .
'nl' . []
'unprotect' :
'proc'(:0) .
'functor'(:0, :1, :2) .
'unprotect'(:1, :2) .
'fail' . []
'unprotect' :
'display'('All predicates un-protected.') .
'nl' . []
: 'grf_mse_hide' .
'txt_mode' .
'protect' .
'seen' . [] #